﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using StuertzDatenbank;



namespace StuertzDatenbank
{
    public partial class Auftragserstellunggui : Form
    {
        private Sprachfile sprachfile;
        private List<Zustand> Zustandsliste;
        private List<Ansprechpartner> ansprechpartnerliste;
        private List<Geschlecht> geschlechterliste;
        private List<Sprache> spracheliste;
        private StuertzDatenbank.Ansprechpartner aktuelleransprechpartner;
        private List<Bearbeitungen> Bearbeitungenliste;
        public List<Restriktion> Restriktionslite;
        public bool Firstcall;
        
        
        
        public Auftragserstellunggui(Benutzer benutzer)
       
        {
            this.benutzer = benutzer;
            dbf = new DBF();
            Firstcall = true;
            Kundenliste = new List<Kunde>();
            Zustandsliste = new List<Zustand>();
            geschlechterliste = new List<Geschlecht>();
            geschlechterliste= dbf.alleGeschlechterAusgeben();
            kunde = new Kunde(-1);
            InitializeComponent();
            sprachfile = new Sprachfile();
            InitializeComponentChange();
            this.Refresh();
            auftrag = new Auftrag(-1);
            aktuelleransprechpartner = new Ansprechpartner(-1);
            benutzercontrolle();
        }

        public Auftragserstellunggui(Benutzer benutzer, Auftrag Auftrag)
        {
            this.benutzer = benutzer;
            dbf = new DBF();
            Firstcall = true;
            Kundenliste = new List<Kunde>();
            Zustandsliste = new List<Zustand>();
            geschlechterliste = new List<Geschlecht>();
            geschlechterliste = dbf.alleGeschlechterAusgeben();
            kunde = new Kunde(-1);
            InitializeComponent();


            //Auscheckschaltung
            this.Löschen.Visible = false;
            this.Speichernbutton.Visible = false;
            this.ProfilHinzufügenButton.Visible = false;
            this.ProfilEntfernenButton.Visible = false;


            sprachfile = new Sprachfile();
            InitializeComponentChange();

            //Veränderungen

            this.Auftragerstellunglabel.Text = sprachfile.Auftragsbearbeitung;
            
           
            //Veränderungen ende
            this.Refresh();
            auftrag = Auftrag;
            aktuelleransprechpartner = new Ansprechpartner(-1);

            auftragladen();
        }
        private void benutzercontrolle()
        {
            if (benutzer.getRolle().getRechte().Auftragerstellen||benutzer.getRolle().getRechte().Auftragbearbeiten)
            {
                this.Speichernbutton.Visible = true;
                this.ProfilEntfernenButton.Visible = true;
                this.ProfilHinzufügenButton.Visible = true;


            }
            else
            {
                this.Speichernbutton.Visible = false;
                this.ProfilEntfernenButton.Visible = false;
                this.ProfilHinzufügenButton.Visible = false;

            }

            this.Löschen.Visible = benutzer.getRolle().getRechte().Auftragloeschen;
        }

        private void auftragladen()
        {
            this.Auftragnummertextbox.Text = auftrag.getAuftragsnummer().ToString();
            
            this.ZustandcomboBox.SelectedItem = auftrag.getZustand().getZustand().ToString();

            this.KundennummertextBox.Text = auftrag.getKunde().getKundennummer().ToString();
            this.KundennamecomboBox.SelectedItem = auftrag.getKunde().getName().ToString();

            if (auftrag.getKunde().getAnsprechpartner().Count>0)
            {
                ansprechpartnerliste = auftrag.getKunde().getAnsprechpartner(); 
            }
            for (int i = 0; i < auftrag.getKunde().getAnsprechpartner().Count; i++)
            {
                this.AnsprechpartnerBox.Items.Add(auftrag.getKunde().getAnsprechpartner()[i].getNachname());
            }
            

            profileladen();

        }

        private void profileladen()
        {
            auftrag = dbf.getAuftrag(auftrag.getAuftragsnummer());
            this.ProfildataGridView.Rows.Clear();
            for (int i = 0; i < this.auftrag.getTeil().Count; i++)
            {
                ProfildataGridView.Rows.Add(auftrag.getTeil()[i].getID().ToString() ,auftrag.getTeil()[i].getKundenbezeichnung().ToString(),auftrag.getTeil()[i].getKundenserie().getSerie().ToString(), auftrag.getTeil()[i].getStatus().getStatus().ToString(), auftrag.getTeil()[i].getHoeheAbsProfil().ToString(), auftrag.getTeil()[i].getTiefeAbsProfil().ToString());
            }

            Bearbeitungenladen();
            Restriktionenladen();
        }

        private void Restriktionenladen()
        {
           Restriktionslite = new List<Restriktion>(dbf.getRestriktionen(this.auftrag));

           RestriktionsdataGridView.Rows.Clear();
           for (int i = 0; i < Restriktionslite.Count; i++)
           {
               RestriktionsdataGridView.Rows.Add(Restriktionslite[i].getID(), Restriktionslite[i].getArtikelnummer(), Restriktionslite[i].getRestriktion().ToString());
           }

        }

        private void Bearbeitungenladen()
        {
            Bearbeitungenliste= new List<Bearbeitungen>(dbf.getBearbeitungen(this.auftrag));
            BearbeitungendataGridView.Rows.Clear();
            for (int i = 0; i < Bearbeitungenliste.Count; i++)
            {
                BearbeitungendataGridView.Rows.Add(Bearbeitungenliste[i].getBearbeitungsnummer(), Bearbeitungenliste[i].getBearbeitungsname(), Bearbeitungenliste[i].getWerkzeug().getWerkzeugBezeichnung(), Bearbeitungenliste[i].getBearbeitungswinkel(), Bearbeitungenliste[i].getKommentar());
            }

            
        
        }

        private void InitializeComponentChange()
        {
            this.StartButton.Text = sprachfile.Start;
            this.Auftragerstellunglabel.Text = sprachfile.Auftragserstellung;
            this.Auftrag.Text = sprachfile.Auftrag;
            this.Speichernbutton.Text = sprachfile.Speichern;
            this.AuftragsNummerLabel.Text = sprachfile.Auftragnummer;
            this.ZustandLabel.Text = sprachfile.Zustand;
            this.Kunde.Text = sprachfile.Kunde;
            this.Kundennummerlabel.Text = sprachfile.Kundennummer;
            this.Kundennamelabel.Text = sprachfile.Kundenname;
            this.kundeauswählenbutton.Text = sprachfile.Auswaehlen;
            this.Profilliste.Text = sprachfile.Profilliste;
            this.Text = sprachfile.Auftrag;
            this.Bezeichnung.HeaderText = sprachfile.Bezeichnung;
            this.Serie.HeaderText = sprachfile.Serie;
            this.Status.HeaderText = sprachfile.Status;
            this.ProfilHinzufügenButton.Text = sprachfile.Profilhinzufügen;
            this.ProfilEntfernenButton.Text = sprachfile.Profillöschen;
            this.Ansprechpartner.Text = sprachfile.Ansprechpartner;
            this.label9.Text = sprachfile.Geschlecht;
            this.label10.Text = sprachfile.Name;
            this.label11.Text = sprachfile.Vorname;
            this.label12.Text = sprachfile.Titel;
            this.label13.Text = sprachfile.Fachbereich;
            this.label14.Text = sprachfile.Telefon1;
            this.label15.Text = sprachfile.Telefon2;
            this.label16.Text = sprachfile.Email;
            this.label17.Text = sprachfile.Fax;
            this.label18.Text = sprachfile.Kommentar;
            this.label19.Text = sprachfile.Sprache;
            this.Ansprechpartnerlabel.Text = sprachfile.Ansprechpartner;
            this.NachGrößeSortierenButtonbutton.Text = sprachfile.Sortierengröße;
            this.AllesBearbeitungenauswählenbutton.Text = sprachfile.alleAuswaehlen;
            this.Ausgewaehleexportierenbutton.Text = sprachfile.ZeichnungGenerieren;
            this.BearbeitungentabPage.Text = sprachfile.Bearbeitungen;
            this.RestriktionentabPage.Text = sprachfile.Restriktion;
            this.Bearbeitungsnummer.HeaderText = sprachfile.Bearbeitungsnummer;
            this.Bearbeitungsname.HeaderText = sprachfile.Bearbeitung;
            this.Werkzeugname.HeaderText = sprachfile.Werkzeugbezeichnung;
            this.Bearbeitungskommentar.HeaderText = sprachfile.Bearbeitungskommentar;
            this.RESTritkionnameColumDatagridview.HeaderText = sprachfile.Restriktion;
            this.RestriktionArtikelnummerColondatagridview.HeaderText = sprachfile.Artikelnr;
            this.Restriktionnachexelexportieren.Text = sprachfile.Excelexport;
            this.Winkle.HeaderText = sprachfile.Bearbeitungswinkel;
            this.ALLELAYERCHECKBox.Text = sprachfile.AlleLayerEinbinden;
            this.Löschen.Text = sprachfile.Loeschen;
            this.Einstellungen.Text = sprachfile.Einstellungen;
          


           
            //Zustände
            zustandliste = dbf.listZustaende();
          
            for (int i = 0; i < zustandliste.Count; i++)
            {ZustandcomboBox.Items.Add(zustandliste[i].getZustand());
                
            }

            
             
            //Kundenliste
            Kundenliste = dbf.alleKundenAusgeben();

            for (int i = 0; i < Kundenliste.Count; i++)
            {
                this.KundennamecomboBox.Items.Add(Kundenliste[i].getName()); 
            }

            this.Refresh();

            //Geschhlechterliste

            geschlechterliste = dbf.alleGeschlechterAusgeben();
                for (int i = 0; i < geschlechterliste.Count; i++)
                {Geschlechtbox.Items.Add(geschlechterliste[i].getGeschlecht());
			 
			}
            //Ansprechpartner
                spracheliste = new List<Sprache>(dbf.alleSprachenAusgeben());
                for (int i = 0; i < spracheliste.Count; i++)
                {
                    this.SprachecheckedListBox.Items.Add(spracheliste[i].getSprache());

                }

            


        }

        

        private void StartButton_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            startgui gui = new startgui(benutzer);
            this.Dispose();
            gui.ShowDialog();

        }

        private void ZurückButton_Click(object sender, EventArgs e)
        {
            this.Visible = false;
            Auftraggui gui = new Auftraggui(benutzer);
            this.Dispose();
            gui.ShowDialog();
        }

        
        public Benutzer benutzer { get; set; }

       

        public List<Zustand> zustandliste { get; set; }

        private void kundeauswählenbutton_Click(object sender, EventArgs e)
        {
           

            if (this.KundennummertextBox.TextLength>0)
            {
                auftrag.setKunde(dbf.getKundeByID(int.Parse(this.KundennummertextBox.Text)));
                this.KundennamecomboBox.ResetText();
                this.KundennamecomboBox.SelectedText=auftrag.getKunde().getName();
            }
            else if (this.KundennamecomboBox.SelectedItem != null)
            {


                for (int i = 0; i < Kundenliste.Count; i++)
                {
                    if (Kundenliste[i].getName()==KundennamecomboBox.SelectedItem.ToString())
                    {
                        auftrag.setKunde(dbf.getKundeByID(Kundenliste[i].getKundennummer()));
                        this.KundennummertextBox.Text = Kundenliste[i].getKundennummer().ToString();
                    }
                    
                }
               
            }


            try
            {
                ansprechpartnerliste = auftrag.getKunde().getAnsprechpartner();
                for (int i = 0; i <auftrag.getKunde().getAnsprechpartner().Count; i++)
                {
                  this.AnsprechpartnerBox.Items.Add(auftrag.getKunde().getAnsprechpartner()[i].getNachname());
                }
            }
            catch (Exception)
            {
                
               
            }

            
            this.Refresh();
        }
        public List<Kunde> Kundenliste { get; set; }
        public Auftrag auftrag { get; set; }

        

        private void ProfilHinzufügenButton_Click(object sender, EventArgs e)
        {
            if (auftrag.getKunde().getKundennummer()<0)
            {
                MessageBox.Show(sprachfile.BitteKundezuerstauswaehlen);
            }else if(auftrag.getAuftragsnummer()<0 )
	            {
                    MessageBox.Show(sprachfile.BitteAuftragzuerstasuwaehlen);
                }
            else
            {
                Teilgui gui = new Teilgui(benutzer, this.auftrag);
                gui.ShowDialog();
                this.profileladen();
            }
            
            

        }

        private void ProfilEntfernenButton_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < ProfildataGridView.Rows.Count; i++)
            {
                auftrag.getTeil().RemoveAt(i);
            }
            this.profileladen();
        }

        public DBF dbf { get; set; }

        public Kunde kunde { get; set; }

      
       

        private void ansprechpartneranzeigen(Ansprechpartner ansprechpartner)
        {
            this.Clearansprechpartner();
            for (int i = 0; i <geschlechterliste.Count ; i++)
            {
                if (Geschlechtbox.Items[i].ToString()==ansprechpartner.getGeschlecht().getGeschlecht())
                {
                    this.Geschlechtbox.SelectedIndex = i;
                }
            }

            this.Namebox.Text = ansprechpartner.getNachname();
            this.Vornamebox.Text = ansprechpartner.getVorname();
            this.Titelbox.Text = ansprechpartner.getTitel();
            this.Fachbereichbox.Text = ansprechpartner.getFachbereich();
            this.Telefon1box.Text = ansprechpartner.getTelefon1();
            this.Telefon2box.Text = ansprechpartner.getTelefon2();
            this.Emailbox.Text = ansprechpartner.getEmail();
            this.Faxbox.Text = ansprechpartner.getFax();
            this.Kommentarbox.Text = ansprechpartner.getKommentar();

            for (int j = 0; j < SprachecheckedListBox.Items.Count; j++)
            {
                for (int i = 0; i < ansprechpartner.getSprache().Count; i++)
                {

                    if (SprachecheckedListBox.Items[j].Equals(ansprechpartner.getSprache()[i].getSprache()))
                    {
                        this.SprachecheckedListBox.SetItemChecked(j, true);

                    }

                }
            }


            this.Refresh();
        }

        private void Clearansprechpartner()
        {
                       
        Geschlechtbox.ResetText();

        this.Namebox.Text = "";
        this.Vornamebox.Text = "";
        this.Titelbox.Text = "";
        this.Fachbereichbox.Text = "";
        this.Telefon1box.Text = "";
        this.Telefon2box.Text = "";
        this.Emailbox.Text = "";
        this.Faxbox.Text = "";
        this.Kommentarbox.Text = "";

        SprachecheckedListBox.ClearSelected();
        }

       

       

        private void AnsprechpartnerBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            aktuelleransprechpartner = new Ansprechpartner(-1);

            for (int i = 0; i < ansprechpartnerliste.Count; i++)
            {
                if (ansprechpartnerliste[i].getNachname()==AnsprechpartnerBox.SelectedItem.ToString())
                {
                    aktuelleransprechpartner = ansprechpartnerliste[i];
                    
                }
            }

            ansprechpartneranzeigen(aktuelleransprechpartner);

        }

        private void ZustandcomboBox_SelectedIndexChanged(object sender, EventArgs e)
        {
            Zustand puffer = new Zustand(-1);
            puffer = auftrag.getZustand();
            

            if (zustandliste[ZustandcomboBox.SelectedIndex].getID()==0)
            {
                auftrag.setZustand(zustandliste[0]);
                if (!dbf.AuftragStatusAendern(auftrag, benutzer))
                {
                    this.ZustandcomboBox.SelectedItem = auftrag.getZustand().getZustand().ToString();
                    this.ZustandcomboBox.Enabled = false;
                    this.auftrag.setZustand(puffer);
                    MessageBox.Show(sprachfile.AuftragAusgechecktvonBenutzer+" "+auftrag.getLetzterBearbeiter().getbenutzername().ToString());
                    return;
                }
                else
                {
                    
                    if (benutzer.getRolle().getRechte().Auftragbearbeiten||benutzer.getRolle().getRechte().Auftragerstellen)
                    {
                        
                    }
                    this.Speichernbutton.Visible = true;
                    this.Löschen.Visible = benutzer.getRolle().getRechte().Auftragloeschen;
                    this.ProfilHinzufügenButton.Visible = true;
                    this.ProfilEntfernenButton.Visible = true;


                }



            }
            else if(!Firstcall)
            {
                this.auftrag.setZustand(zustandliste[ZustandcomboBox.SelectedIndex]);
                if (dbf.AuftragStatusAendern(auftrag,benutzer))
                {
                    Speichernbutton_Click_1(sender, e);
                    this.Speichernbutton.Visible = false;
                    this.Löschen.Visible = false;
                    this.ProfilHinzufügenButton.Visible = false;
                    this.ProfilEntfernenButton.Visible = false;
                }

            }
            Firstcall = false;
           
        }

        private void Speichernbutton_Click_1(object sender, EventArgs e)
        {
            //Algemein
            auftrag.setLetzterBearbeiter(benutzer);
            auftrag.setAuftragsnummer(int.Parse(this.Auftragnummertextbox.Text));
            try
            {
                auftrag.setZustand(zustandliste[this.ZustandcomboBox.SelectedIndex]);
            }
            catch (Exception)
            {
                
                MessageBox.Show(sprachfile.BitteZustandAuswählen);
            }

            try
            {
                dbf.AuftragEintragen(auftrag);
            }
            catch (Exception)
            {
                
                MessageBox.Show(sprachfile.AuftragsnummerSchonVergeben) ;
            }

           
        }

        private void NachGrößeSortierenButtonbutton_Click(object sender, EventArgs e)
        {
           
            if (NachGrößeSortierenButtonbutton.Text==sprachfile.Sortierengröße)
            { 
                NachGrößeSortierenButtonbutton.Text = sprachfile.Allesanzeigen;
                this.ProfildataGridView.Rows.Clear();
                List<Teil> teilliste = new List<Teil>(dbf.TeileAusgebenSortiertNachMaßen(this.auftrag));
                for (int i = 0; i < teilliste.Count; i++)
                {
                    

                    ProfildataGridView.Rows.Add(teilliste[i].getID(), teilliste[i].getKundenbezeichnung(),teilliste[i].getKundenserie().getSerie().ToString() , teilliste[i].getStatus().getStatus().ToString(), teilliste[i].getHoeheAbsProfil().ToString(), teilliste[i].getTiefeAbsProfil().ToString());
                }
            }
            else
            {
                profileladen();
                NachGrößeSortierenButtonbutton.Text = sprachfile.Sortierengröße;
            }
            
            

        }

       

        private void AllesBearbeitungenauswählenbutton_Click(object sender, EventArgs e)
        {
            BearbeitungendataGridView.SelectAll();
        }

        private void Ausgewaehleexportierenbutton_Click(object sender, EventArgs e)
        {
            // vorbereitung
            List<Bearbeitungen> aktuelleBearbeitungesliste = new List<Bearbeitungen>();
            DrawingHandler dh = new DrawingHandler();
            ZeichnungsEinstellungen ZE = new ZeichnungsEinstellungen();
                    
            for (int i = 0; i < BearbeitungendataGridView.Rows.Count; i++)
            {
                if (BearbeitungendataGridView.Rows[i].Selected)
                {
                    aktuelleBearbeitungesliste.Add(Bearbeitungenliste[i]);
                }
            }
            List<Teil> aktuelleTeileliste = new List<Teil>(dbf.TeileAusgeben(auftrag, aktuelleBearbeitungesliste));


            //Prüfung ob ausgewählt
           if (aktuelleTeileliste.Count>0)
	{
            WW.Cad.Model.DxfModel aktuellesmodel = new WW.Cad.Model.DxfModel(aktuelleTeileliste[0].getZeichnung());
        if (ALLELAYERCHECKBox.Checked)
        {
           
          
            //Fuelmatterial
            for (int i = 0; i < aktuelleTeileliste[0].getFuellmaterial().Count; i++)
            {
               aktuellesmodel = dh.fuisonmodel(aktuellesmodel,aktuelleTeileliste[0].getFuellmaterial()[i].getLayer(),aktuelleTeileliste[0].getFuellmaterial()[i].getFuellmaterial()+" "+aktuelleTeileliste[0].getKundenbezeichnung(), ZE.NULL);
            }
            //Dichtung
            for (int i = 0; i < aktuelleTeileliste[0].getDichtung().Count; i++)
            {
                aktuellesmodel = dh.fuisonmodel(aktuellesmodel,aktuelleTeileliste[0].getDichtung()[i].getDichtungslayer(),aktuelleTeileliste[0].getDichtung()[i].getDichtung()+" "+aktuelleTeileliste[0].getKundenbezeichnung(), ZE.NULL);
            
            }

        }   
              aktuellesmodel=  dh.fuisonmodel(aktuellesmodel,aktuelleTeileliste[0].getBearbeitungen()[0].getLayer(),aktuelleTeileliste[0].getBearbeitungen()[0].getBearbeitungsnummer()+" "+aktuelleTeileliste[0].getKundenbezeichnung(), ZE.NULL);
       
       
               int id = aktuelleTeileliste[0].getBearbeitungen()[0].getBearbeitungsnummer();
        
               //Ablauf
               for (int j = 1; j < aktuelleTeileliste.Count; j++)
               {
                   if (aktuelleTeileliste[j].getBearbeitungen()[0].getBearbeitungsnummer() == id)
                   {
                       WW.Cad.Model.DxfModel Baktuellesmodel = new WW.Cad.Model.DxfModel(aktuelleTeileliste[j].getZeichnung());
                       if (ALLELAYERCHECKBox.Checked)
                       {


                           //Fuelmatterial
                           for (int i = 0; i < aktuelleTeileliste[j].getFuellmaterial().Count; i++)
                           {
                               Baktuellesmodel = dh.fuisonmodel(Baktuellesmodel, aktuelleTeileliste[j].getFuellmaterial()[i].getLayer(), aktuelleTeileliste[j].getFuellmaterial()[i].getFuellmaterial() + " " + aktuelleTeileliste[j].getKundenbezeichnung(), ZE.NULL);
                           }
                           //Dichtung
                           for (int i = 0; i < aktuelleTeileliste[j].getDichtung().Count; i++)
                           {
                               Baktuellesmodel = dh.fuisonmodel(Baktuellesmodel, aktuelleTeileliste[j].getDichtung()[i].getDichtungslayer(), aktuelleTeileliste[j].getDichtung()[i].getDichtung() + " " + aktuelleTeileliste[j].getKundenbezeichnung(), ZE.NULL);

                           }
                       }

                       Baktuellesmodel = dh.fuisonmodel(Baktuellesmodel, aktuelleTeileliste[j].getBearbeitungen()[0].getLayer(), aktuelleTeileliste[j].getBearbeitungen()[0].getBearbeitungsnummer() + " " + aktuelleTeileliste[j].getKundenbezeichnung(), ZE.NULL);


                       aktuellesmodel = dh.fuisonmodel(aktuellesmodel, Baktuellesmodel, aktuelleTeileliste[j].getKundenbezeichnung(), ZE.Abstandxy(j));
                   }
                   else
                   {
                       Zeichnunganzeigen za = new Zeichnunganzeigen(aktuellesmodel);
                       za.ShowDialog();

                       id = aktuelleTeileliste[j].getBearbeitungen()[0].getBearbeitungsnummer();
                       aktuellesmodel = new WW.Cad.Model.DxfModel(dh.fuisonmodel(aktuelleTeileliste[j].getBearbeitungen()[0].getLayer(), aktuelleTeileliste[j].getZeichnung(), aktuelleTeileliste[0].getKundenbezeichnung(), ZE.NULL));


                   }


               }

            
        
        Zeichnunganzeigen ZA = new Zeichnunganzeigen(aktuellesmodel);
        ZA.ShowDialog();
        

	}
            

        }

        private void Restriktionnachexelexportiernbutton_Click(object sender, EventArgs e)
        {
            String copystring = "";
            copystring += RestriktionsdataGridView.Rows[0].Cells[1].Value.ToString() + "\t" + RestriktionsdataGridView.Rows[0].Cells[2].Value.ToString();
            for (int i = 1; i < RestriktionsdataGridView.Rows.Count; i++)
            {
                copystring += "\n"+RestriktionsdataGridView.Rows[i].Cells[1].Value.ToString() + "\t" + RestriktionsdataGridView.Rows[i].Cells[2].Value.ToString();
            }
            Clipboard.SetText(copystring);
        }

        void Profilliste_Click(object sender, System.EventArgs e)
        {
            if (auftrag.getAuftragsnummer()<0)
            {
                if (int.Parse(this.Auftragnummertextbox.Text.ToString())<0)
                {
                    MessageBox.Show(sprachfile.BitteAuftragzuerstasuwaehlen);
                }else{
                    this.Speichernbutton_Click_1(sender, e);
                }

            }
        }

        void AuftragerstellungTab_Click(object sender, System.EventArgs e)
        {
            throw new System.NotImplementedException();
        }

        void AuftragerstellungTab_SelectedIndexChanged(object sender, System.EventArgs e)
        {
            if (AuftragerstellungTab.SelectedIndex == 2)
            {
                if (auftrag.getAuftragsnummer() < 0)
                {
                    if (this.Auftragnummertextbox.Text==""||  int.Parse(this.Auftragnummertextbox.Text.ToString()) < 0)
                    {
                        MessageBox.Show(sprachfile.BitteAuftragzuerstasuwaehlen);
                    }
                    else
                    {
                        this.Speichernbutton_Click_1(sender, e);
                    }

                }
            }
        }

        private void ProfildataGridView_DoubleClick(object sender, System.EventArgs e)
        {
            if (ProfildataGridView.SelectedRows.Count>0)
            {
                for (int i = 0; i < ProfildataGridView.Rows.Count; i++)
                {
                    if (ProfildataGridView.Rows[i].Selected)
                    {
                        for (int j = 0; j < auftrag.getTeil().Count; j++)
                        {
                            if (auftrag.getTeil()[j].getID()==int.Parse(ProfildataGridView.Rows[i].Cells[0].Value.ToString()))
                            {
                                Teilgui gui = new Teilgui(benutzer, this.auftrag, auftrag.getTeil()[j]);
                                gui.ShowDialog();
                                this.profileladen();
                                return;
                            }
                        }
                    }
                    
                }

            }
            
            
        }

        private void Löschen_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show(sprachfile.ObjektLoeschen, sprachfile.ObjektLoeschenKopfzeile, MessageBoxButtons.YesNo) == DialogResult.Yes)
            {

                dbf.AuftragLoeschen(auftrag);
                this.Visible = false;
                Auftraggui gui = new Auftraggui(benutzer);
                this.Dispose();
                gui.ShowDialog();
            }
        }

        private void Einstellungen_Click(object sender, EventArgs e)
        {
            Uebersichteinstellung gui = new Uebersichteinstellung();
            gui.ShowDialog();


        }
       

       
    }
}
